package com.whmskj.xjlhsc.gongweiji.produce.mapper;

import com.whmskj.xjlhsc.gongweiji.produce.pojo.vo.*;
import com.whmskj.xjlhsc.gongweiji.produce.service.MonthJiXiaomonthlyWorktimeDetailVO;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;

import java.util.List;

@Mapper
public interface GwjemployeeperformanceMapper {
    List<DailyJiXiaoVO> daily(@Param("date") String date, @Param("process") String process, @Param("workType") String workType, @Param("keyword") String keyword);

    List<WorkTypeVO> workType();

    List<GwjemployeeperformanceMonthVO> monthly(@Param("startDate") String startDate, @Param("endDate") String endDate, @Param("process") String process, @Param("workType") String workType, @Param("keyword") String keyword,@Param("isEndDate20th") Boolean isEndDate20th);

    List<GwjemployeeperformanceMonthDeVO> monthlyDetail(@Param("startDate") String startDate, @Param("endDate") String endDate, @Param("employeeId") Long employeeId, @Param("isEndDate20th") Boolean isEndDate20th);

    List<MonthJiXiaomonthlyYieldVO> monthlyYield(@Param("startDate") String startDate, @Param("endDate") String endDate, @Param("process") String process, @Param("workType") String workType, @Param("keyword") String keyword, @Param("shift") String shift, @Param("isEndDate20th") Boolean isEndDate20th);

    List<MonthJiXiaomonthlyYieldDeVO> monthlyYieldDetail(@Param("startDate") String startDate, @Param("endDate") String endDate, @Param("employeeId") Long employeeId, @Param("isEndDate20th") Boolean isEndDate20th);

    List<MonthJiXiaomonthlyWorktimeVO> monthlyWorktime(@Param("startDate") String startDate, @Param("endDate") String endDate, @Param("process") String process, @Param("workType") String workType, @Param("keyword") String keyword, @Param("shift") String shift, @Param("isEndDate20th") Boolean isEndDate20th);

    List<MonthJiXiaomonthlyWorktimeDetailVO> monthlyWorktimeDetail(@Param("startDate") String startDate, @Param("endDate") String endDate, @Param("employeeId") Long employeeId, @Param("isEndDate20th") Boolean isEndDate20th);

    List<MonthJiXiaomonthlyAccuratePayVO> monthlyAccuratePay(@Param("startDate") String startDate, @Param("endDate") String endDate, @Param("keyword") String keyword, @Param("isEndDate20th") Boolean isEndDate20th, @Param("process") String process);

    List<MonthJiXiaomonthlyAccuratePayDeVO> monthlyAccuratePayDetail(@Param("startDate") String startDate, @Param("endDate") String endDate, @Param("employeeId") Long employeeId, @Param("isEndDate20th") Boolean isEndDate20th);
}
